pixel shader
a.k.a fragment shader
rasterizerによってラスタライズされたpixelに対して働くことのできるshader
pixelの色を決定する
画面解像度が大きい=描画するピクセルが増えるほど処理が増える
...フラグメントシェーダは、vertex shaderによって計算された最終的な頂点座標で構成される図形のピクセル数だけ実行され、各ピクセルにどういう色を付けるのかを求める。各ピクセル毎ということでお分かりのように毎フレーム大量に実行される。
https://gyazo.com/45c655859cfe104c80836889c0eefe2d
2014 OpenGL が世界を描画する仕組み · けんごのお屋敷
pixiel shaderの描画全体の位置付けはレンダリングパイプラインを知っておく必要がある
https://gyazo.com/18a5be15bfdc9e0db2ae021a6e83fbf7
コンピュータグラフィックス 改訂新版 p.55
例:画素を赤にするピクセルシェーダー
code:fragment shader.cpp
#version 150 core
out vec4 fragment; // この変数に格納したデータが次のステージに送られる。フレームバッファのカラーバッファに格納される
void main()
{
fragment = vec4(1.0, 0.0, 0.0, 1,0); // rgba
}